import java.util.LinkedList;

/**
 * Deze klasse simuleert de kassarij in de kantine.
 * Er kunnen personen worden toegevoegd en achteraan te laten sluiten.
 * Ook kan de eerste persoon in de rij worden gelezen en verwijderd.
 * 
 * @author Jeroen ten Hoor
 * @version 04-12-2012
 */
public class KassaRij
{
    // Opslagruimte voor een willekeurig aantal personen.
    private LinkedList<Persoon> persoon;

    /**
     * Constructor om een persoon aan de rij toe te voegen.
     */
    public KassaRij()
    {
        this.persoon = new LinkedList<Persoon>();
    }

    /**
     * Methode om een persoon achter in de rij te laten aansluiten.
     * @param  persoon 
     */
    public void sluitAchteraan(Persoon persoon)
    {
        //voeg een persoon toe aan de KassaRij.
        this.persoon.add(persoon);
    }
    
    /**
     * Methode kijkt of er personen in de rij staan.
     * 
     * @return Of er wel of geen rij bestaat.
     */
    public boolean erIsEenRij()
    {
        if (this.persoon.isEmpty()) {
            return false;
        }
        else {
            return true;
        }
    }
    
    /**
     * Methode om, indien er een rij bestaat, de eerste Persoon uit
     * de rij te verwijderen en te retourneren. Als er niemand in de
     * rij staat geeft deze null terug.
     * 
     * @return Eerste persoon in de rij of null
     */
    public Persoon eerstePersoonInRij()
    {
        
        if (this.erIsEenRij()) {
            Persoon eerstePersoonInRij = persoon.get(0);
            persoon.remove(0);
           return eerstePersoonInRij;
        }
        else {
            return null;
        }
    }
}